//
//  CZMainViewController.swift
//  GZWeibo007
//
//  Created by 黄伟 on 15/12/19.
//  Copyright © 2015年 itcast. All rights reserved.
//

import UIKit

class CZMainViewController: UITabBarController {

    override func viewDidLoad() {
        super.viewDidLoad()
        
        //自定义tabbar，是只读的，不能直接使用=进行赋值
        //可以使用kvc间接赋值，或者直接添加一个自定义tabbar
        //这里我们使用kvc进行替换
        let mainTabBar = CZMainTabbar()
        setValue(mainTabBar, forKey: "tabBar")
        
        // 1.首页
        let homeVC = CZHomeViewController()
        self.addChildVC(homeVC, title: "首页", imageName: "tabbar_home")
        
        // 2.消息
        let messageVC = CZMessageViewController()
        self.addChildVC(messageVC, title: "消息", imageName: "tabbar_message_center")
        
        // 3.发现
        let discoverVC = CZDiscoveryViewController()
        self.addChildVC(discoverVC, title: "发现", imageName: "tabbar_discover")
        
        // 4.我
        let profileVC = CZProfileViewController()
        self.addChildVC(profileVC, title: "我", imageName: "tabbar_profile")
    }
    
    //将添加控制器的代码抽取成一个方法
    private func addChildVC(controller: UIViewController,title: String,imageName: String){
        //1.包装导航控制器
        self.addChildViewController(UINavigationController(rootViewController: controller))
        
        //2.设置title,导航栏和tabbar
        controller.title = title
        
        // 3.设置图片
        controller.tabBarItem.image = UIImage(named: imageName)
        
        // 4.设置高亮图片,并设置不需要系统来渲染颜色
        let highLightedName = imageName + "_highlighted"
        controller.tabBarItem.selectedImage = UIImage(named: highLightedName)?.imageWithRenderingMode(.AlwaysOriginal)
        
        // 5.设置文字颜色
        // NSForegroundColorAttributeName:设置文本的前景色
        controller.tabBarItem.setTitleTextAttributes([NSForegroundColorAttributeName : UIColor.orangeColor()], forState: UIControlState.Selected)
    }
   
}


















